package cn.tedu.csmall.product.mapper;

import cn.tedu.csmall.product.pojo.entity.CategoryAttributeTemplate;
import cn.tedu.csmall.product.pojo.vo.CategoryAttributeTemplateListitemVO;
import cn.tedu.csmall.product.pojo.vo.CategoryAttributeTemplateStandardVO;
import cn.tedu.csmall.product.pojo.vo.CategoryStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 类别和属性关联数据的mapper接口
 * @outhor java@tedu.cn
 * @version 0.0.1
 */
@Repository
public interface CategoryAttributeTemplateMapper {
    /**
     *插入类别和属性关联数据
     * @param categoryAttributeTemplate
     * @return
     */
    int insert(CategoryAttributeTemplate categoryAttributeTemplate);
    /**
     * 根据类别id统计类别和属性关联数据
     * @param categoryId
     * @return
     */
    int count(Long categoryId);
    /**
     * 根据属性模id查询数据
     * @param attributeTemplateId
     * @return
     */
    int countAttribute(Long attributeTemplateId);
    /**
     * 根据类别与属性模板统计关联数据的数量
     *
     * @param categoryId          类别id
     * @param attributeTemplateId 属性模板id
     * @return 此属性模板关联的数据的数量
     */
    int countByCategoryAndAttributeTemplate(@Param("categoryId") Long categoryId, @Param("attributeTemplateId") Long attributeTemplateId);

    /**
     * 根据id删除类别和属性关联数据
     * @param id
     * @return
     */
    int delete(Long id);
    /**
     * 更具id查找
     * @param id
     * @return
     */
    CategoryAttributeTemplateStandardVO getCATById(Long id);
}
